#pragma once

#include <linux/types.h>
#include <linux/rbtree_types.h>

/* CFS-related fields in a runqueue */
struct cfs_rq
{
	struct load_weight load;
	unsigned int h_nr_runnable;
	unsigned int nr_queued;
	unsigned int h_nr_queued; /* SCHED_{NORMAL,BATCH,IDLE} */
	unsigned int h_nr_idle; /* SCHED_IDLE */
	u64 min_vruntime;
	s64 avg_vruntime;
	u64 avg_load;

	struct rb_root_cached tasks_timeline;

	/*
	 * 'curr' points to currently running entity on this cfs_rq.
	 * It is set to NULL otherwise (i.e when none are currently running).
	 */
	struct sched_entity *curr;
	struct sched_entity *next;
};
